/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Clientes;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

/**
 *
 * @author humberto
 */
public class bdClientes {
    
    public static boolean existeCliente(cCliente cliente) throws SQLException, ClassNotFoundException{
    
        java.sql.Statement estado = null;
        estado = bdControlador.BdControlador.establecerConexion().createStatement();

        ResultSet resultado = estado.executeQuery("SELECT * FROM clientes WHERE " +
                "dni" + " ='" + cliente.getDni() + "';");//AGREGAR  CELULAR
        
            if(resultado.first()){return true;}
            else {return false;}
    }
    
     public static boolean agregarCliente(cCliente c) throws SQLException, ClassNotFoundException{
         
        java.sql.Statement estado = null;
        estado = bdControlador.BdControlador.establecerConexion().createStatement();
        
        estado.executeUpdate("INSERT INTO clientes (codigo, dni, pNombre, sNombre, pApellido, sApellido,"
                + " direccion, parZona, parLote, parHabitante, telefono, celular) VALUES"
                + "(" + c.getCodigo() + 
                "," + c.getDni() + 
                ",'" + c.getpNombre()  + 
                "', '" + c.getsNombre() + 
                "','" + c.getpApellido() +
                "','"+  c.getsApellido() + 
                "','" + c.getDireccion() + 
                "','" + c.getZonaParcela() +
                "','" + c.getNumParcela() +
                "','" + c.getHabitanteParcela() +
                "','" + c.getTelefono() +
                "','" + c.getCelular() + "');");
        return true;
    }
     
    public static boolean editarCliente(cCliente cliente) throws SQLException, ClassNotFoundException
    {
        java.sql.Statement estado = null;
        estado = bdControlador.BdControlador.establecerConexion().createStatement();

        estado.executeUpdate("UPDATE clientes SET dni ='" + cliente.getDni() +
                "', pNombre='" + cliente.getpNombre() + 
                "',sNombre='" + cliente.getsNombre() +
                "', pApellido='"  + cliente.getpApellido() + 
                "', sApellido='" + cliente.getsApellido() +
                "', direccion='" + cliente.getDireccion() +  
                "', parZona='" + cliente.getZonaParcela() +
                "', parLote='" + cliente.getNumParcela() + 
                "', parHabitante='" + cliente.getHabitanteParcela() + 
                "', telefono ='" + cliente.getTelefono() +
                "', celular ='" + cliente.getCelular()  +
                "' WHERE codigo = '" + cliente.getCodigo() + "';" );
           return true;     
    }
     
     public static boolean  eliminarCLiente(double codigo) throws SQLException, ClassNotFoundException
    {
        java.sql.Statement estado = null;

        estado = bdControlador.BdControlador.establecerConexion().createStatement();
        estado.executeUpdate("DELETE FROM clientes WHERE codigo='" + codigo + "';");
        return true;
    }
     
     
     
     public static cCliente retornaCliente(int codigo)throws ClassNotFoundException, SQLException{
        
        java.sql.Statement estado = null;

        estado = bdControlador.BdControlador.establecerConexion().createStatement();

        ResultSet resultado = estado.executeQuery("SELECT * FROM cliente WHERE " +
                "codigo" + " ='" + codigo + "';");
        
        resultado.first();
        cCliente cliente = new cCliente();
        cliente.setCodigo(Integer.parseInt(resultado.getString(1)));
        cliente.setDni(resultado.getString(2));
        cliente.setpNombre(resultado.getString(3));
        cliente.setsNombre(resultado.getString(4));
        cliente.setpApellido(resultado.getString(5));
        cliente.setsApellido(resultado.getString(6));
        cliente.setDireccion(resultado.getString(7));
        cliente.setTelefono(Integer.parseInt(resultado.getString(8)));
        cliente.setCelular(Integer.parseInt(resultado.getString(9)));
                
        
    return cliente;
    }
    
     public static Vector<Vector<String>> seleccionarTodo() throws SQLException, ClassNotFoundException{
        
       Vector <Vector<String>> clientes = new Vector<Vector<String>>();
        Connection conexion = bdControlador.BdControlador.establecerConexion();
        Statement estado = conexion.createStatement();
        
        ResultSet consulta = estado.executeQuery("SELECT * from clientes");
        
        while(consulta.next()){
            Vector <String> fila = new Vector<String>(); 
            fila.add(consulta.getString(1));
            fila.add(consulta.getString(2));
            fila.add(consulta.getString(3));
            fila.add(consulta.getString(4));
            fila.add(consulta.getString(5));
            fila.add(consulta.getString(6));
            fila.add(consulta.getString(7));
            fila.add(consulta.getString(8));
            fila.add(consulta.getString(9));
            fila.add(consulta.getString(10));
            fila.add(consulta.getString(11));
            fila.add(consulta.getString(12));
            
            
            clientes.add(fila);
        }
        bdControlador.BdControlador.liberarConexion(conexion);
        
        return clientes;
    }
 
}
